package logique.reseau;

import java.util.ArrayList;
import java.util.LinkedList;

import logique.reseau.atouts.AtoutTouristiqueVille;
import logique.reseau.tailles.TailleVille;

/**
 * 
 * @author camille
 *
 */
public class Ville {

	private String nom;
	private TailleVille taille;
	private ArrayList<AtoutTouristiqueVille> atoutsTouristiques;
	private LinkedList<Troncon> troncons;

	public Ville() {
		this.nom = null;
		this.taille = null;
		this.atoutsTouristiques = new ArrayList<AtoutTouristiqueVille>();
		this.troncons = new LinkedList<Troncon>();
	}

	public String getNom() {
		return nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}

	public TailleVille getTaille() {
		return taille;
	}

	public void setTaille(TailleVille taille) {
		this.taille = taille;
	}

	public ArrayList<AtoutTouristiqueVille> getAtoutsTouristiques() {
		return atoutsTouristiques;
	}

	public void addAtoutTouristique(AtoutTouristiqueVille atout) {
		this.atoutsTouristiques.add(atout);
	}

	public LinkedList<Troncon> getTroncons() {
		return troncons;
	}

	public void addTroncon(Troncon troncon) {
		this.troncons.add(troncon);
	}

	public void removeTroncon(Troncon troncon) {
		this.troncons.remove(troncon);
	}

	@Override
	public String toString() {
		String villeStr = new String();

		villeStr = nom + " " + ((taille != null) ? taille.toString() : "");

		for (AtoutTouristiqueVille atv : atoutsTouristiques) {
			villeStr += " " + atv.toString();
		}

		return villeStr;
	}
}
